package br.com.javajsf.modelo;

import java.io.Serializable;
import java.sql.Date;

public class Pedido implements Serializable {

	private static final long serialVersionUID = -5515668828755221709L;
	private int cod;
	private Date dtCompra;
	private int qtde;
	private Produto produto;
	private Cliente cliente;
	
	public Pedido(){
		produto = new Produto();
		cliente = new Cliente();
	}
	public Pedido(Cliente cliente, Produto produto, int qtde ,Date dtCompra) {
		this.cliente = cliente;
		this.produto = produto;
		this.qtde = qtde;
		this.dtCompra = dtCompra;
	}
	//Getters and Setters
	public Date getDtCompra() {
		return dtCompra;
	}
	public void setDtCompra(Date dtCompra) {
		this.dtCompra = dtCompra;
	}
	public int getQtde() {
		return qtde;
	}
	public void setQtde(int qtde) {
		this.qtde = qtde;
	}
	public Produto getProduto() {
		return produto;
	}
	public void setProduto(Produto produto) {
		this.produto = produto;
	}
	public int getCod() {
		return cod;
	}
	public void setCod(int cod){
		this.cod = cod;
	}
	public Pessoa getCliente() {
		return cliente;
	}
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((cliente == null) ? 0 : cliente.hashCode());
		result = prime * result + cod;
		result = prime * result
				+ ((dtCompra == null) ? 0 : dtCompra.hashCode());
		result = prime * result + ((produto == null) ? 0 : produto.hashCode());
		result = prime * result + qtde;
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Pedido other = (Pedido) obj;
		if (cliente == null) {
			if (other.cliente != null)
				return false;
		} else if (!cliente.equals(other.cliente))
			return false;
		if (cod != other.cod)
			return false;
		if (dtCompra == null) {
			if (other.dtCompra != null)
				return false;
		} else if (!dtCompra.equals(other.dtCompra))
			return false;
		if (produto == null) {
			if (other.produto != null)
				return false;
		} else if (!produto.equals(other.produto))
			return false;
		if (qtde != other.qtde)
			return false;
		return true;
	}
	@Override
	public String toString() {
		return "Pedido [cod=" + cod + ", dtCompra=" + dtCompra + ", qtde="
				+ qtde + ", produto=" + produto + ", cliente=" + cliente + "]";
	}

}
